package com.atguigu.oss.utils;

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

//读取配置文件,加载里面的配置信息
@Component
public class ConstantPropertiesUtils implements InitializingBean {//实现初始化组件,初始化组件之后在赋值
    //spring中的注解value可以读取到配置文件中的属性值
    @Value("${aliyun.oss.file.endpoint}")
    private String endpoint;//直接调用该属性，会报null
    @Value("${aliyun.oss.file.keyid}")
    private String keyId;
    @Value("${aliyun.oss.file.keysecret}")
    private String keySecret;
    @Value("${aliyun.oss.file.bucketname}")
    private String bucketName;

    //在配置加载之后执行
    public static String END_POINT;
    public static String ACCESS_KEY_ID;
    public static String ACCESS_KEY_SECRET;
    public static String BUCKET_NAME;

    //设置所有bean属性以后，再调用初始化方法，就可以获取到配置文件中的值
    @Override
    public void afterPropertiesSet() throws Exception {
        END_POINT=endpoint;
        ACCESS_KEY_ID=keyId;
        ACCESS_KEY_SECRET=keySecret;
        BUCKET_NAME=bucketName;
    }
}
